package com.foreknow.demo1;

/**
 * 抽象类与接口
 * 1. 抽象类abstract：在抽象类中可以定义抽象方法也可以定义非抽象方法 public abstract class Person{}
 * 2. 抽象方法只有声明没有实现,如果一个类中有一个或多个抽象方法，那么这个类一定要定义为抽象类
 * 3. 由子类来实现抽象方法,子类一定要实现抽象中所有的抽象方法，否则这个类也可定义为抽象类
 * 注意： 从规范来说抽象类中一般都是抽象方法
 *       抽象类不能被实例化(不能new)
 */
public abstract class Person {

    /**
     * 吃饭
     */
    public abstract void eat(String name);

    /**
     * 学习
     */
    public abstract void study();

    /**
     * 睡觉
     */
    public abstract void sleep();

}
